package com.lh.pospi.x_store.greendao;

import java.util.Map;

import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.AbstractDaoSession;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.identityscope.IdentityScopeType;
import org.greenrobot.greendao.internal.DaoConfig;

import com.lh.pospi.x_store.modle.BillBean;
import com.lh.pospi.x_store.modle.BnnerBean;
import com.lh.pospi.x_store.modle.BrandBean;
import com.lh.pospi.x_store.modle.CatBean;
import com.lh.pospi.x_store.modle.CusBean;
import com.lh.pospi.x_store.modle.GoodsBean;
import com.lh.pospi.x_store.modle.MarktBean;
import com.lh.pospi.x_store.modle.StockBean;
import com.lh.pospi.x_store.modle.SupBean;
import com.lh.pospi.x_store.modle.User;
import com.lh.pospi.x_store.modle.UserBean;

import com.lh.pospi.x_store.greendao.BillBeanDao;
import com.lh.pospi.x_store.greendao.BnnerBeanDao;
import com.lh.pospi.x_store.greendao.BrandBeanDao;
import com.lh.pospi.x_store.greendao.CatBeanDao;
import com.lh.pospi.x_store.greendao.CusBeanDao;
import com.lh.pospi.x_store.greendao.GoodsBeanDao;
import com.lh.pospi.x_store.greendao.MarktBeanDao;
import com.lh.pospi.x_store.greendao.StockBeanDao;
import com.lh.pospi.x_store.greendao.SupBeanDao;
import com.lh.pospi.x_store.greendao.UserDao;
import com.lh.pospi.x_store.greendao.UserBeanDao;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.

/**
 * {@inheritDoc}
 * 
 * @see org.greenrobot.greendao.AbstractDaoSession
 */
public class DaoSession extends AbstractDaoSession {

    private final DaoConfig billBeanDaoConfig;
    private final DaoConfig bnnerBeanDaoConfig;
    private final DaoConfig brandBeanDaoConfig;
    private final DaoConfig catBeanDaoConfig;
    private final DaoConfig cusBeanDaoConfig;
    private final DaoConfig goodsBeanDaoConfig;
    private final DaoConfig marktBeanDaoConfig;
    private final DaoConfig stockBeanDaoConfig;
    private final DaoConfig supBeanDaoConfig;
    private final DaoConfig userDaoConfig;
    private final DaoConfig userBeanDaoConfig;

    private final BillBeanDao billBeanDao;
    private final BnnerBeanDao bnnerBeanDao;
    private final BrandBeanDao brandBeanDao;
    private final CatBeanDao catBeanDao;
    private final CusBeanDao cusBeanDao;
    private final GoodsBeanDao goodsBeanDao;
    private final MarktBeanDao marktBeanDao;
    private final StockBeanDao stockBeanDao;
    private final SupBeanDao supBeanDao;
    private final UserDao userDao;
    private final UserBeanDao userBeanDao;

    public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
            daoConfigMap) {
        super(db);

        billBeanDaoConfig = daoConfigMap.get(BillBeanDao.class).clone();
        billBeanDaoConfig.initIdentityScope(type);

        bnnerBeanDaoConfig = daoConfigMap.get(BnnerBeanDao.class).clone();
        bnnerBeanDaoConfig.initIdentityScope(type);

        brandBeanDaoConfig = daoConfigMap.get(BrandBeanDao.class).clone();
        brandBeanDaoConfig.initIdentityScope(type);

        catBeanDaoConfig = daoConfigMap.get(CatBeanDao.class).clone();
        catBeanDaoConfig.initIdentityScope(type);

        cusBeanDaoConfig = daoConfigMap.get(CusBeanDao.class).clone();
        cusBeanDaoConfig.initIdentityScope(type);

        goodsBeanDaoConfig = daoConfigMap.get(GoodsBeanDao.class).clone();
        goodsBeanDaoConfig.initIdentityScope(type);

        marktBeanDaoConfig = daoConfigMap.get(MarktBeanDao.class).clone();
        marktBeanDaoConfig.initIdentityScope(type);

        stockBeanDaoConfig = daoConfigMap.get(StockBeanDao.class).clone();
        stockBeanDaoConfig.initIdentityScope(type);

        supBeanDaoConfig = daoConfigMap.get(SupBeanDao.class).clone();
        supBeanDaoConfig.initIdentityScope(type);

        userDaoConfig = daoConfigMap.get(UserDao.class).clone();
        userDaoConfig.initIdentityScope(type);

        userBeanDaoConfig = daoConfigMap.get(UserBeanDao.class).clone();
        userBeanDaoConfig.initIdentityScope(type);

        billBeanDao = new BillBeanDao(billBeanDaoConfig, this);
        bnnerBeanDao = new BnnerBeanDao(bnnerBeanDaoConfig, this);
        brandBeanDao = new BrandBeanDao(brandBeanDaoConfig, this);
        catBeanDao = new CatBeanDao(catBeanDaoConfig, this);
        cusBeanDao = new CusBeanDao(cusBeanDaoConfig, this);
        goodsBeanDao = new GoodsBeanDao(goodsBeanDaoConfig, this);
        marktBeanDao = new MarktBeanDao(marktBeanDaoConfig, this);
        stockBeanDao = new StockBeanDao(stockBeanDaoConfig, this);
        supBeanDao = new SupBeanDao(supBeanDaoConfig, this);
        userDao = new UserDao(userDaoConfig, this);
        userBeanDao = new UserBeanDao(userBeanDaoConfig, this);

        registerDao(BillBean.class, billBeanDao);
        registerDao(BnnerBean.class, bnnerBeanDao);
        registerDao(BrandBean.class, brandBeanDao);
        registerDao(CatBean.class, catBeanDao);
        registerDao(CusBean.class, cusBeanDao);
        registerDao(GoodsBean.class, goodsBeanDao);
        registerDao(MarktBean.class, marktBeanDao);
        registerDao(StockBean.class, stockBeanDao);
        registerDao(SupBean.class, supBeanDao);
        registerDao(User.class, userDao);
        registerDao(UserBean.class, userBeanDao);
    }
    
    public void clear() {
        billBeanDaoConfig.clearIdentityScope();
        bnnerBeanDaoConfig.clearIdentityScope();
        brandBeanDaoConfig.clearIdentityScope();
        catBeanDaoConfig.clearIdentityScope();
        cusBeanDaoConfig.clearIdentityScope();
        goodsBeanDaoConfig.clearIdentityScope();
        marktBeanDaoConfig.clearIdentityScope();
        stockBeanDaoConfig.clearIdentityScope();
        supBeanDaoConfig.clearIdentityScope();
        userDaoConfig.clearIdentityScope();
        userBeanDaoConfig.clearIdentityScope();
    }

    public BillBeanDao getBillBeanDao() {
        return billBeanDao;
    }

    public BnnerBeanDao getBnnerBeanDao() {
        return bnnerBeanDao;
    }

    public BrandBeanDao getBrandBeanDao() {
        return brandBeanDao;
    }

    public CatBeanDao getCatBeanDao() {
        return catBeanDao;
    }

    public CusBeanDao getCusBeanDao() {
        return cusBeanDao;
    }

    public GoodsBeanDao getGoodsBeanDao() {
        return goodsBeanDao;
    }

    public MarktBeanDao getMarktBeanDao() {
        return marktBeanDao;
    }

    public StockBeanDao getStockBeanDao() {
        return stockBeanDao;
    }

    public SupBeanDao getSupBeanDao() {
        return supBeanDao;
    }

    public UserDao getUserDao() {
        return userDao;
    }

    public UserBeanDao getUserBeanDao() {
        return userBeanDao;
    }

}
